//-----------------------------------------------------------------------------
//  File: RTC4expl.h                         Copyright (c) 2023 SCANLAB GmbH
//-----------------------------------------------------------------------------
//
//
//
//  Abstract
//      RTC4 function prototypes for explicitly linking - also known as
//      dynamic load linking - to the RTC4DLL.DLL or RTC4DLLx64.DLL.
//
//  Authors
//      Gerald Schmid, Bernhard Schrems, Christian Lutz
//
//  Revision History
//      +-----+---------+--------+------------------------------------------+
//      | Mod |  Date   | Author | Description                              |
//      +-----+---------+--------+------------------------------------------+
//      | 0.0 | 15Jan01 | GS, BS | * initial release                        |
//      | 0.3 | 18Jun15 |  CLU   | * include guard                          |
//      | 0.4 | 15Dec15 | BS,CLU | * 64bit compatibility                    |
//      | 0.5 | 29Sep16 |  CLU   | * Company name updated                   |
//      | 0.6 | 11Mar20 | ARE    | * New Import File Generator              |
//      |     |         |        | * Select DLL name before loading         |
//      +-----+---------+--------+------------------------------------------+
//
//      This file was automatically generated on 2023-10-27.
//
//-----------------------------------------------------------------------------

//------------------------ DLL Handling ---------------------------------------

#pragma once

void RTC4selectDLL(char *filename);
int RTC4open(void);
void RTC4close(void);
typedef void (__stdcall *N_GET_WAVEFORM_FP)(unsigned short n, unsigned short channel, unsigned short istop, signed short * MemPtr);
extern N_GET_WAVEFORM_FP n_get_waveform;
typedef void (__stdcall *GET_WAVEFORM_FP)(unsigned short channel, unsigned short istop, signed short * MemPtr);
extern GET_WAVEFORM_FP get_waveform;
typedef void (__stdcall *N_MEASUREMENT_STATUS_FP)(unsigned short n, unsigned short* busy, unsigned short* position);
extern N_MEASUREMENT_STATUS_FP n_measurement_status;
typedef void (__stdcall *MEASUREMENT_STATUS_FP)(unsigned short* busy, unsigned short* position);
extern MEASUREMENT_STATUS_FP measurement_status;
typedef void (__stdcall *N_SET_TRIGGER_FP)(unsigned short n, unsigned short sampleperiod, unsigned short channel1, unsigned short channel2);
extern N_SET_TRIGGER_FP n_set_trigger;
typedef void (__stdcall *SET_TRIGGER_FP)(unsigned short sampleperiod, unsigned short signal1, unsigned short signal2);
extern SET_TRIGGER_FP set_trigger;
typedef short (__stdcall *N_GET_VALUE_FP)(unsigned short n, unsigned short signal);
extern N_GET_VALUE_FP n_get_value;
typedef short (__stdcall *GET_VALUE_FP)(unsigned short signal);
extern GET_VALUE_FP get_value;
typedef void (__stdcall *N_SET_IO_BIT_FP)(unsigned short n, unsigned short mask1);
extern N_SET_IO_BIT_FP n_set_io_bit;
typedef void (__stdcall *SET_IO_BIT_FP)(unsigned short mask1);
extern SET_IO_BIT_FP set_io_bit;
typedef void (__stdcall *N_CLEAR_IO_BIT_FP)(unsigned short n, unsigned short mask0);
extern N_CLEAR_IO_BIT_FP n_clear_io_bit;
typedef void (__stdcall *CLEAR_IO_BIT_FP)(unsigned short mask0);
extern CLEAR_IO_BIT_FP clear_io_bit;
typedef void (__stdcall *N_MOVE_TO_FP)(unsigned short n, unsigned short position);
extern N_MOVE_TO_FP n_move_to;
typedef void (__stdcall *MOVE_TO_FP)(unsigned short position);
extern MOVE_TO_FP move_to;
typedef void (__stdcall *N_CONTROL_COMMAND_FP)(unsigned short n, unsigned short head, unsigned short axis, unsigned short data);
extern N_CONTROL_COMMAND_FP n_control_command;
typedef void (__stdcall *CONTROL_COMMAND_FP)(unsigned short head, unsigned short axis, unsigned short data);
extern CONTROL_COMMAND_FP control_command;
typedef void (__stdcall *N_ARC_REL_FP)(unsigned short n, short dx, short dy, double angle);
extern N_ARC_REL_FP n_arc_rel;
typedef void (__stdcall *ARC_REL_FP)(short dx, short dy, double angle);
extern ARC_REL_FP arc_rel;
typedef void (__stdcall *N_ARC_ABS_FP)(unsigned short n, short x, short y, double angle);
extern N_ARC_ABS_FP n_arc_abs;
typedef void (__stdcall *ARC_ABS_FP)(short x, short y, double angle);
extern ARC_ABS_FP arc_abs;
typedef void (__stdcall *DRILLING_FP)(short PulseWidth, short RelEncoderDelay);
extern DRILLING_FP drilling;
typedef void (__stdcall *REGULATION_FP)();
extern REGULATION_FP regulation;
typedef void (__stdcall *FLYLINE_FP)(short EncoderDelay);
extern FLYLINE_FP flyline;
typedef void (__stdcall *SET_DUTY_CYCLE_TABLE_FP)(unsigned short index, unsigned short dutycycle);
extern SET_DUTY_CYCLE_TABLE_FP set_duty_cycle_table;
typedef short (__stdcall *N_LOAD_VARPOLYDELAY_FP)(unsigned short n, const char * stbFileName, unsigned short TableNo);
extern N_LOAD_VARPOLYDELAY_FP n_load_varpolydelay;
typedef short (__stdcall *LOAD_VARPOLYDELAY_FP)(const char * stbFileName, unsigned short TableNo);
extern LOAD_VARPOLYDELAY_FP load_varpolydelay;
typedef short (__stdcall *N_LOAD_PROGRAM_FILE_FP)(unsigned short n, const char * name);
extern N_LOAD_PROGRAM_FILE_FP n_load_program_file;
typedef short (__stdcall *LOAD_PROGRAM_FILE_FP)(const char * name);
extern LOAD_PROGRAM_FILE_FP load_program_file;
typedef short (__stdcall *N_LOAD_CORRECTION_FILE_FP)(unsigned short n, const char * FileName, short CorTable, double Kx, double Ky, double Phi, double Xoffset, double Yoffset);
extern N_LOAD_CORRECTION_FILE_FP n_load_correction_file;
typedef short (__stdcall *LOAD_CORRECTION_FILE_FP)(const char * FileName, short CorTable, double Kx, double Ky, double Phi, double Xoffset, double Yoffset);
extern LOAD_CORRECTION_FILE_FP load_correction_file;
typedef short (__stdcall *N_LOAD_Z_TABLE_FP)(unsigned short n, double A, double B, double C);
extern N_LOAD_Z_TABLE_FP n_load_z_table;
typedef short (__stdcall *LOAD_Z_TABLE_FP)(double A, double B, double C);
extern LOAD_Z_TABLE_FP load_z_table;
typedef void (__stdcall *N_LIST_NOP_FP)(unsigned short n);
extern N_LIST_NOP_FP n_list_nop;
typedef void (__stdcall *LIST_NOP_FP)();
extern LIST_NOP_FP list_nop;
typedef void (__stdcall *N_SET_END_OF_LIST_FP)(unsigned short n);
extern N_SET_END_OF_LIST_FP n_set_end_of_list;
typedef void (__stdcall *SET_END_OF_LIST_FP)();
extern SET_END_OF_LIST_FP set_end_of_list;
typedef void (__stdcall *N_JUMP_ABS_3D_FP)(unsigned short n, short x, short y, short z);
extern N_JUMP_ABS_3D_FP n_jump_abs_3d;
typedef void (__stdcall *JUMP_ABS_3D_FP)(short x, short y, short z);
extern JUMP_ABS_3D_FP jump_abs_3d;
typedef void (__stdcall *N_JUMP_ABS_FP)(unsigned short n, short x, short y);
extern N_JUMP_ABS_FP n_jump_abs;
typedef void (__stdcall *JUMP_ABS_FP)(short x, short y);
extern JUMP_ABS_FP jump_abs;
typedef void (__stdcall *N_MARK_ABS_3D_FP)(unsigned short n, short x, short y, short z);
extern N_MARK_ABS_3D_FP n_mark_abs_3d;
typedef void (__stdcall *MARK_ABS_3D_FP)(short x, short y, short z);
extern MARK_ABS_3D_FP mark_abs_3d;
typedef void (__stdcall *N_MARK_ABS_FP)(unsigned short n, short x, short y);
extern N_MARK_ABS_FP n_mark_abs;
typedef void (__stdcall *MARK_ABS_FP)(short x, short y);
extern MARK_ABS_FP mark_abs;
typedef void (__stdcall *N_JUMP_REL_3D_FP)(unsigned short n, short dx, short dy, short dz);
extern N_JUMP_REL_3D_FP n_jump_rel_3d;
typedef void (__stdcall *JUMP_REL_3D_FP)(short dx, short dy, short dz);
extern JUMP_REL_3D_FP jump_rel_3d;
typedef void (__stdcall *N_JUMP_REL_FP)(unsigned short n, short dx, short dy);
extern N_JUMP_REL_FP n_jump_rel;
typedef void (__stdcall *JUMP_REL_FP)(short dx, short dy);
extern JUMP_REL_FP jump_rel;
typedef void (__stdcall *N_MARK_REL_3D_FP)(unsigned short n, short dx, short dy, short dz);
extern N_MARK_REL_3D_FP n_mark_rel_3d;
typedef void (__stdcall *MARK_REL_3D_FP)(short dx, short dy, short dz);
extern MARK_REL_3D_FP mark_rel_3d;
typedef void (__stdcall *N_MARK_REL_FP)(unsigned short n, short dx, short dy);
extern N_MARK_REL_FP n_mark_rel;
typedef void (__stdcall *MARK_REL_FP)(short dx, short dy);
extern MARK_REL_FP mark_rel;
typedef void (__stdcall *N_WRITE_8BIT_PORT_LIST_FP)(unsigned short n, unsigned short value);
extern N_WRITE_8BIT_PORT_LIST_FP n_write_8bit_port_list;
typedef void (__stdcall *WRITE_8BIT_PORT_LIST_FP)(unsigned short value);
extern WRITE_8BIT_PORT_LIST_FP write_8bit_port_list;
typedef void (__stdcall *N_WRITE_DA_1_LIST_FP)(unsigned short n, unsigned short value);
extern N_WRITE_DA_1_LIST_FP n_write_da_1_list;
typedef void (__stdcall *WRITE_DA_1_LIST_FP)(unsigned short value);
extern WRITE_DA_1_LIST_FP write_da_1_list;
typedef void (__stdcall *N_WRITE_DA_2_LIST_FP)(unsigned short n, unsigned short value);
extern N_WRITE_DA_2_LIST_FP n_write_da_2_list;
typedef void (__stdcall *WRITE_DA_2_LIST_FP)(unsigned short value);
extern WRITE_DA_2_LIST_FP write_da_2_list;
typedef void (__stdcall *N_SET_MATRIX_LIST_FP)(unsigned short n, unsigned short i, unsigned short j, double Mij);
extern N_SET_MATRIX_LIST_FP n_set_matrix_list;
typedef void (__stdcall *SET_MATRIX_LIST_FP)(unsigned short i, unsigned short j, double Mij);
extern SET_MATRIX_LIST_FP set_matrix_list;
typedef void (__stdcall *N_SET_OFFSET_LIST_FP)(unsigned short n, short Xoffset, short Yoffset);
extern N_SET_OFFSET_LIST_FP n_set_offset_list;
typedef void (__stdcall *SET_OFFSET_LIST_FP)(short Xoffset, short Yoffset);
extern SET_OFFSET_LIST_FP set_offset_list;
typedef void (__stdcall *N_SET_DEFOCUS_LIST_FP)(unsigned short n, short value);
extern N_SET_DEFOCUS_LIST_FP n_set_defocus_list;
typedef void (__stdcall *SET_DEFOCUS_LIST_FP)(short value);
extern SET_DEFOCUS_LIST_FP set_defocus_list;
typedef void (__stdcall *N_SET_DEFOCUS_FP)(unsigned short n, short value);
extern N_SET_DEFOCUS_FP n_set_defocus;
typedef void (__stdcall *SET_DEFOCUS_FP)(short value);
extern SET_DEFOCUS_FP set_defocus;
typedef void (__stdcall *N_SET_SOFTSTART_MODE_FP)(unsigned short n, unsigned short mode, unsigned short number, unsigned short restartdelay);
extern N_SET_SOFTSTART_MODE_FP n_set_softstart_mode;
typedef void (__stdcall *SET_SOFTSTART_MODE_FP)(unsigned short mode, unsigned short number, unsigned short resetdelay);
extern SET_SOFTSTART_MODE_FP set_softstart_mode;
typedef void (__stdcall *N_SET_SOFTSTART_LEVEL_FP)(unsigned short n, unsigned short index, unsigned short level);
extern N_SET_SOFTSTART_LEVEL_FP n_set_softstart_level;
typedef void (__stdcall *SET_SOFTSTART_LEVEL_FP)(unsigned short index, unsigned short level);
extern SET_SOFTSTART_LEVEL_FP set_softstart_level;
typedef void (__stdcall *N_SET_CONTROL_MODE_LIST_FP)(unsigned short n, unsigned short mode);
extern N_SET_CONTROL_MODE_LIST_FP n_set_control_mode_list;
typedef void (__stdcall *SET_CONTROL_MODE_LIST_FP)(unsigned short mode);
extern SET_CONTROL_MODE_LIST_FP set_control_mode_list;
typedef void (__stdcall *N_SET_CONTROL_MODE_FP)(unsigned short n, unsigned short mode);
extern N_SET_CONTROL_MODE_FP n_set_control_mode;
typedef void (__stdcall *SET_CONTROL_MODE_FP)(unsigned short mode);
extern SET_CONTROL_MODE_FP set_control_mode;
typedef void (__stdcall *N_LONG_DELAY_FP)(unsigned short n, unsigned short value);
extern N_LONG_DELAY_FP n_long_delay;
typedef void (__stdcall *LONG_DELAY_FP)(unsigned short value);
extern LONG_DELAY_FP long_delay;
typedef void (__stdcall *N_LASER_ON_LIST_FP)(unsigned short n, unsigned short value);
extern N_LASER_ON_LIST_FP n_laser_on_list;
typedef void (__stdcall *LASER_ON_LIST_FP)(unsigned short value);
extern LASER_ON_LIST_FP laser_on_list;
typedef void (__stdcall *N_SET_JUMP_SPEED_FP)(unsigned short n, double speed);
extern N_SET_JUMP_SPEED_FP n_set_jump_speed;
typedef void (__stdcall *SET_JUMP_SPEED_FP)(double speed);
extern SET_JUMP_SPEED_FP set_jump_speed;
typedef void (__stdcall *N_SET_MARK_SPEED_FP)(unsigned short n, double speed);
extern N_SET_MARK_SPEED_FP n_set_mark_speed;
typedef void (__stdcall *SET_MARK_SPEED_FP)(double speed);
extern SET_MARK_SPEED_FP set_mark_speed;
typedef void (__stdcall *N_SET_LASER_DELAYS_FP)(unsigned short n, short ondelay, short offdelay);
extern N_SET_LASER_DELAYS_FP n_set_laser_delays;
typedef void (__stdcall *SET_LASER_DELAYS_FP)(short ondelay, short offdelay);
extern SET_LASER_DELAYS_FP set_laser_delays;
typedef void (__stdcall *N_SET_SCANNER_DELAYS_FP)(unsigned short n, unsigned short jumpdelay, unsigned short markdelay, unsigned short polydelay);
extern N_SET_SCANNER_DELAYS_FP n_set_scanner_delays;
typedef void (__stdcall *SET_SCANNER_DELAYS_FP)(unsigned short jumpdelay, unsigned short markdelay, unsigned short polydelay);
extern SET_SCANNER_DELAYS_FP set_scanner_delays;
typedef void (__stdcall *N_SET_LIST_JUMP_FP)(unsigned short n, unsigned short position);
extern N_SET_LIST_JUMP_FP n_set_list_jump;
typedef void (__stdcall *SET_LIST_JUMP_FP)(unsigned short position);
extern SET_LIST_JUMP_FP set_list_jump;
typedef void (__stdcall *N_SET_INPUT_POINTER_FP)(unsigned short n, unsigned short pointer);
extern N_SET_INPUT_POINTER_FP n_set_input_pointer;
typedef void (__stdcall *SET_INPUT_POINTER_FP)(unsigned short pointer);
extern SET_INPUT_POINTER_FP set_input_pointer;
typedef void (__stdcall *N_LIST_CALL_FP)(unsigned short n, unsigned short position);
extern N_LIST_CALL_FP n_list_call;
typedef void (__stdcall *LIST_CALL_FP)(unsigned short position);
extern LIST_CALL_FP list_call;
typedef void (__stdcall *N_LIST_RETURN_FP)(unsigned short n);
extern N_LIST_RETURN_FP n_list_return;
typedef void (__stdcall *LIST_RETURN_FP)();
extern LIST_RETURN_FP list_return;
typedef void (__stdcall *N_Z_OUT_LIST_FP)(unsigned short n, short z);
extern N_Z_OUT_LIST_FP n_z_out_list;
typedef void (__stdcall *Z_OUT_LIST_FP)(short z);
extern Z_OUT_LIST_FP z_out_list;
typedef void (__stdcall *N_SET_STANDBY_LIST_FP)(unsigned short n, unsigned short half_period, unsigned short pulse);
extern N_SET_STANDBY_LIST_FP n_set_standby_list;
typedef void (__stdcall *SET_STANDBY_LIST_FP)(unsigned short half_period, unsigned short pulse);
extern SET_STANDBY_LIST_FP set_standby_list;
typedef void (__stdcall *N_TIMED_JUMP_ABS_FP)(unsigned short n, short x, short y, double time);
extern N_TIMED_JUMP_ABS_FP n_timed_jump_abs;
typedef void (__stdcall *TIMED_JUMP_ABS_FP)(short x, short y, double time);
extern TIMED_JUMP_ABS_FP timed_jump_abs;
typedef void (__stdcall *N_TIMED_MARK_ABS_FP)(unsigned short n, short x, short y, double time);
extern N_TIMED_MARK_ABS_FP n_timed_mark_abs;
typedef void (__stdcall *TIMED_MARK_ABS_FP)(short x, short y, double time);
extern TIMED_MARK_ABS_FP timed_mark_abs;
typedef void (__stdcall *N_TIMED_JUMP_REL_FP)(unsigned short n, short dx, short dy, double time);
extern N_TIMED_JUMP_REL_FP n_timed_jump_rel;
typedef void (__stdcall *TIMED_JUMP_REL_FP)(short dx, short dy, double time);
extern TIMED_JUMP_REL_FP timed_jump_rel;
typedef void (__stdcall *N_TIMED_MARK_REL_FP)(unsigned short n, short dx, short dy, double time);
extern N_TIMED_MARK_REL_FP n_timed_mark_rel;
typedef void (__stdcall *TIMED_MARK_REL_FP)(short dx, short dy, double time);
extern TIMED_MARK_REL_FP timed_mark_rel;
typedef void (__stdcall *N_SET_LASER_TIMING_FP)(unsigned short n, unsigned short HalfPeriod, unsigned short Pulse1, unsigned short Pulse2, unsigned short TimeBase);
extern N_SET_LASER_TIMING_FP n_set_laser_timing;
typedef void (__stdcall *SET_LASER_TIMING_FP)(unsigned short HalfPeriod, unsigned short Pulse1, unsigned short Pulse2, unsigned short TimeBase);
extern SET_LASER_TIMING_FP set_laser_timing;
typedef void (__stdcall *N_SET_WOBBEL_FP)(unsigned short n, unsigned short amplitude, double frequency);
extern N_SET_WOBBEL_FP n_set_wobbel;
typedef void (__stdcall *SET_WOBBEL_FP)(unsigned short amplitude, double frequency);
extern SET_WOBBEL_FP set_wobbel;
typedef void (__stdcall *N_SET_WOBBEL_XY_FP)(unsigned short n, unsigned short long_wob, unsigned short trans_wob, double frequency);
extern N_SET_WOBBEL_XY_FP n_set_wobbel_xy;
typedef void (__stdcall *SET_WOBBEL_XY_FP)(unsigned short long_wob, unsigned short trans_wob, double frequency);
extern SET_WOBBEL_XY_FP set_wobbel_xy;
typedef void (__stdcall *N_SET_FLY_X_FP)(unsigned short n, double kx);
extern N_SET_FLY_X_FP n_set_fly_x;
typedef void (__stdcall *SET_FLY_X_FP)(double kx);
extern SET_FLY_X_FP set_fly_x;
typedef void (__stdcall *N_SET_FLY_Y_FP)(unsigned short n, double ky);
extern N_SET_FLY_Y_FP n_set_fly_y;
typedef void (__stdcall *SET_FLY_Y_FP)(double ky);
extern SET_FLY_Y_FP set_fly_y;
typedef void (__stdcall *N_SET_FLY_ROT_FP)(unsigned short n, double resolution);
extern N_SET_FLY_ROT_FP n_set_fly_rot;
typedef void (__stdcall *SET_FLY_ROT_FP)(double resolution);
extern SET_FLY_ROT_FP set_fly_rot;
typedef void (__stdcall *N_FLY_RETURN_FP)(unsigned short n, short x, short y);
extern N_FLY_RETURN_FP n_fly_return;
typedef void (__stdcall *FLY_RETURN_FP)(short x, short y);
extern FLY_RETURN_FP fly_return;
typedef void (__stdcall *N_CALCULATE_FLY_FP)(unsigned short n, unsigned short direction, double distance);
extern N_CALCULATE_FLY_FP n_calculate_fly;
typedef void (__stdcall *CALCULATE_FLY_FP)(unsigned short direction, double distance);
extern CALCULATE_FLY_FP calculate_fly;
typedef void (__stdcall *N_WRITE_IO_PORT_LIST_FP)(unsigned short n, unsigned short value);
extern N_WRITE_IO_PORT_LIST_FP n_write_io_port_list;
typedef void (__stdcall *WRITE_IO_PORT_LIST_FP)(unsigned short value);
extern WRITE_IO_PORT_LIST_FP write_io_port_list;
typedef void (__stdcall *N_SELECT_COR_TABLE_LIST_FP)(unsigned short n, unsigned short HeadA, unsigned short HeadB);
extern N_SELECT_COR_TABLE_LIST_FP n_select_cor_table_list;
typedef void (__stdcall *SELECT_COR_TABLE_LIST_FP)(unsigned short HeadA, unsigned short HeadB);
extern SELECT_COR_TABLE_LIST_FP select_cor_table_list;
typedef void (__stdcall *N_SET_WAIT_FP)(unsigned short n, unsigned short value);
extern N_SET_WAIT_FP n_set_wait;
typedef void (__stdcall *SET_WAIT_FP)(unsigned short value);
extern SET_WAIT_FP set_wait;
typedef void (__stdcall *N_SIMULATE_EXT_START_FP)(unsigned short n, short delay, short encoder);
extern N_SIMULATE_EXT_START_FP n_simulate_ext_start;
typedef void (__stdcall *SIMULATE_EXT_START_FP)(short delay, short encoder);
extern SIMULATE_EXT_START_FP simulate_ext_start;
typedef void (__stdcall *N_WRITE_DA_X_LIST_FP)(unsigned short n, unsigned short x, unsigned short value);
extern N_WRITE_DA_X_LIST_FP n_write_da_x_list;
typedef void (__stdcall *WRITE_DA_X_LIST_FP)(unsigned short x, unsigned short value);
extern WRITE_DA_X_LIST_FP write_da_x_list;
typedef void (__stdcall *N_SET_PIXEL_LINE_FP)(unsigned short n, unsigned short PixelMode, unsigned short PixelPeriod, double dx, double dy);
extern N_SET_PIXEL_LINE_FP n_set_pixel_line;
typedef void (__stdcall *SET_PIXEL_LINE_FP)(unsigned short PixelMode, unsigned short PixelPeriod, double dx, double dy);
extern SET_PIXEL_LINE_FP set_pixel_line;
typedef void (__stdcall *N_SET_PIXEL_FP)(unsigned short n, unsigned short PulsWidth, unsigned short DAValue, unsigned short ADChannel);
extern N_SET_PIXEL_FP n_set_pixel;
typedef void (__stdcall *SET_PIXEL_FP)(unsigned short PulsWidth, unsigned short DAValue, unsigned short ADChannel);
extern SET_PIXEL_FP set_pixel;
typedef void (__stdcall *N_SET_EXTSTARTPOS_LIST_FP)(unsigned short n, unsigned short position);
extern N_SET_EXTSTARTPOS_LIST_FP n_set_extstartpos_list;
typedef void (__stdcall *SET_EXTSTARTPOS_LIST_FP)(unsigned short position);
extern SET_EXTSTARTPOS_LIST_FP set_extstartpos_list;
typedef void (__stdcall *N_LASER_SIGNAL_ON_LIST_FP)(unsigned short n);
extern N_LASER_SIGNAL_ON_LIST_FP n_laser_signal_on_list;
typedef void (__stdcall *LASER_SIGNAL_ON_LIST_FP)();
extern LASER_SIGNAL_ON_LIST_FP laser_signal_on_list;
typedef void (__stdcall *N_LASER_SIGNAL_OFF_LIST_FP)(unsigned short n);
extern N_LASER_SIGNAL_OFF_LIST_FP n_laser_signal_off_list;
typedef void (__stdcall *LASER_SIGNAL_OFF_LIST_FP)();
extern LASER_SIGNAL_OFF_LIST_FP laser_signal_off_list;
typedef void (__stdcall *N_SET_FIRSTPULSE_KILLER_LIST_FP)(unsigned short n, unsigned short fpk);
extern N_SET_FIRSTPULSE_KILLER_LIST_FP n_set_firstpulse_killer_list;
typedef void (__stdcall *SET_FIRSTPULSE_KILLER_LIST_FP)(unsigned short fpk);
extern SET_FIRSTPULSE_KILLER_LIST_FP set_firstpulse_killer_list;
typedef void (__stdcall *N_SET_IO_COND_LIST_FP)(unsigned short n, unsigned short mask_1, unsigned short mask_0, unsigned short mask_set);
extern N_SET_IO_COND_LIST_FP n_set_io_cond_list;
typedef void (__stdcall *SET_IO_COND_LIST_FP)(unsigned short mask_1, unsigned short mask_0, unsigned short mask_set);
extern SET_IO_COND_LIST_FP set_io_cond_list;
typedef void (__stdcall *N_CLEAR_IO_COND_LIST_FP)(unsigned short n, unsigned short mask_1, unsigned short mask_0, unsigned short mask_clear);
extern N_CLEAR_IO_COND_LIST_FP n_clear_io_cond_list;
typedef void (__stdcall *CLEAR_IO_COND_LIST_FP)(unsigned short mask_1, unsigned short mask_0, unsigned short mask_clear);
extern CLEAR_IO_COND_LIST_FP clear_io_cond_list;
typedef void (__stdcall *N_LIST_JUMP_COND_FP)(unsigned short n, unsigned short mask_1, unsigned short mask_0, unsigned short position);
extern N_LIST_JUMP_COND_FP n_list_jump_cond;
typedef void (__stdcall *LIST_JUMP_COND_FP)(unsigned short mask_1, unsigned short mask_0, unsigned short position);
extern LIST_JUMP_COND_FP list_jump_cond;
typedef void (__stdcall *N_LIST_CALL_COND_FP)(unsigned short n, unsigned short mask_1, unsigned short mask_0, unsigned short position);
extern N_LIST_CALL_COND_FP n_list_call_cond;
typedef void (__stdcall *LIST_CALL_COND_FP)(unsigned short mask_1, unsigned short mask_0, unsigned short position);
extern LIST_CALL_COND_FP list_call_cond;
typedef unsigned short (__stdcall *N_GET_INPUT_POINTER_FP)(unsigned short n);
extern N_GET_INPUT_POINTER_FP n_get_input_pointer;
typedef unsigned short (__stdcall *GET_INPUT_POINTER_FP)();
extern GET_INPUT_POINTER_FP get_input_pointer;
typedef void (__stdcall *SELECT_RTC_FP)(unsigned short CardNo);
extern SELECT_RTC_FP select_rtc;
typedef unsigned short (__stdcall *RTC4_COUNT_CARDS_FP)();
extern RTC4_COUNT_CARDS_FP rtc4_count_cards;
typedef void (__stdcall *N_GET_STATUS_FP)(unsigned short n, unsigned short* busy, unsigned short* position);
extern N_GET_STATUS_FP n_get_status;
typedef void (__stdcall *GET_STATUS_FP)(unsigned short* busy, unsigned short* position);
extern GET_STATUS_FP get_status;
typedef unsigned short (__stdcall *N_READ_STATUS_FP)(unsigned short n);
extern N_READ_STATUS_FP n_read_status;
typedef unsigned short (__stdcall *READ_STATUS_FP)();
extern READ_STATUS_FP read_status;
typedef unsigned short (__stdcall *N_GET_STARTSTOP_INFO_FP)(unsigned short n);
extern N_GET_STARTSTOP_INFO_FP n_get_startstop_info;
typedef unsigned short (__stdcall *GET_STARTSTOP_INFO_FP)();
extern GET_STARTSTOP_INFO_FP get_startstop_info;
typedef unsigned short (__stdcall *N_GET_MARKING_INFO_FP)(unsigned short n);
extern N_GET_MARKING_INFO_FP n_get_marking_info;
typedef unsigned short (__stdcall *GET_MARKING_INFO_FP)();
extern GET_MARKING_INFO_FP get_marking_info;
typedef unsigned short (__stdcall *GET_DLL_VERSION_FP)();
extern GET_DLL_VERSION_FP get_dll_version;
typedef void (__stdcall *N_SET_START_LIST_1_FP)(unsigned short n);
extern N_SET_START_LIST_1_FP n_set_start_list_1;
typedef void (__stdcall *SET_START_LIST_1_FP)();
extern SET_START_LIST_1_FP set_start_list_1;
typedef void (__stdcall *N_SET_START_LIST_2_FP)(unsigned short n);
extern N_SET_START_LIST_2_FP n_set_start_list_2;
typedef void (__stdcall *SET_START_LIST_2_FP)();
extern SET_START_LIST_2_FP set_start_list_2;
typedef void (__stdcall *N_SET_START_LIST_FP)(unsigned short n, unsigned short ListNo);
extern N_SET_START_LIST_FP n_set_start_list;
typedef void (__stdcall *SET_START_LIST_FP)(unsigned short ListNo);
extern SET_START_LIST_FP set_start_list;
typedef void (__stdcall *N_EXECUTE_LIST_1_FP)(unsigned short n);
extern N_EXECUTE_LIST_1_FP n_execute_list_1;
typedef void (__stdcall *EXECUTE_LIST_1_FP)();
extern EXECUTE_LIST_1_FP execute_list_1;
typedef void (__stdcall *N_EXECUTE_LIST_2_FP)(unsigned short n);
extern N_EXECUTE_LIST_2_FP n_execute_list_2;
typedef void (__stdcall *EXECUTE_LIST_2_FP)();
extern EXECUTE_LIST_2_FP execute_list_2;
typedef void (__stdcall *N_EXECUTE_LIST_FP)(unsigned short n, unsigned short ListNo);
extern N_EXECUTE_LIST_FP n_execute_list;
typedef void (__stdcall *EXECUTE_LIST_FP)(unsigned short ListNo);
extern EXECUTE_LIST_FP execute_list;
typedef void (__stdcall *N_WRITE_8BIT_PORT_FP)(unsigned short n, unsigned short value);
extern N_WRITE_8BIT_PORT_FP n_write_8bit_port;
typedef void (__stdcall *WRITE_8BIT_PORT_FP)(unsigned short value);
extern WRITE_8BIT_PORT_FP write_8bit_port;
typedef void (__stdcall *N_WRITE_IO_PORT_FP)(unsigned short n, unsigned short value);
extern N_WRITE_IO_PORT_FP n_write_io_port;
typedef void (__stdcall *WRITE_IO_PORT_FP)(unsigned short value);
extern WRITE_IO_PORT_FP write_io_port;
typedef void (__stdcall *N_AUTO_CHANGE_FP)(unsigned short n);
extern N_AUTO_CHANGE_FP n_auto_change;
typedef void (__stdcall *AUTO_CHANGE_FP)();
extern AUTO_CHANGE_FP auto_change;
typedef void (__stdcall *N_AUTO_CHANGE_POS_FP)(unsigned short n, unsigned short start);
extern N_AUTO_CHANGE_POS_FP n_auto_change_pos;
typedef void (__stdcall *AUTO_CHANGE_POS_FP)(unsigned short start);
extern AUTO_CHANGE_POS_FP auto_change_pos;
typedef void (__stdcall *AUT_CHANGE_FP)();
extern AUT_CHANGE_FP aut_change;
typedef void (__stdcall *N_START_LOOP_FP)(unsigned short n);
extern N_START_LOOP_FP n_start_loop;
typedef void (__stdcall *START_LOOP_FP)();
extern START_LOOP_FP start_loop;
typedef void (__stdcall *N_QUIT_LOOP_FP)(unsigned short n);
extern N_QUIT_LOOP_FP n_quit_loop;
typedef void (__stdcall *QUIT_LOOP_FP)();
extern QUIT_LOOP_FP quit_loop;
typedef void (__stdcall *N_STOP_EXECUTION_FP)(unsigned short n);
extern N_STOP_EXECUTION_FP n_stop_execution;
typedef void (__stdcall *STOP_EXECUTION_FP)();
extern STOP_EXECUTION_FP stop_execution;
typedef unsigned short (__stdcall *N_READ_IO_PORT_FP)(unsigned short n);
extern N_READ_IO_PORT_FP n_read_io_port;
typedef unsigned short (__stdcall *READ_IO_PORT_FP)();
extern READ_IO_PORT_FP read_io_port;
typedef void (__stdcall *N_WRITE_DA_1_FP)(unsigned short n, unsigned short value);
extern N_WRITE_DA_1_FP n_write_da_1;
typedef void (__stdcall *WRITE_DA_1_FP)(unsigned short value);
extern WRITE_DA_1_FP write_da_1;
typedef void (__stdcall *N_WRITE_DA_2_FP)(unsigned short n, unsigned short value);
extern N_WRITE_DA_2_FP n_write_da_2;
typedef void (__stdcall *WRITE_DA_2_FP)(unsigned short value);
extern WRITE_DA_2_FP write_da_2;
typedef void (__stdcall *N_SET_MAX_COUNTS_FP)(unsigned short n, long counts);
extern N_SET_MAX_COUNTS_FP n_set_max_counts;
typedef void (__stdcall *SET_MAX_COUNTS_FP)(long counts);
extern SET_MAX_COUNTS_FP set_max_counts;
typedef long (__stdcall *N_GET_COUNTS_FP)(unsigned short n);
extern N_GET_COUNTS_FP n_get_counts;
typedef long (__stdcall *GET_COUNTS_FP)();
extern GET_COUNTS_FP get_counts;
typedef void (__stdcall *N_SET_MATRIX_FP)(unsigned short n, double M11, double M12, double M21, double M22);
extern N_SET_MATRIX_FP n_set_matrix;
typedef void (__stdcall *SET_MATRIX_FP)(double M11, double M12, double M21, double M22);
extern SET_MATRIX_FP set_matrix;
typedef void (__stdcall *N_SET_OFFSET_FP)(unsigned short n, short Xoffset, short Yoffset);
extern N_SET_OFFSET_FP n_set_offset;
typedef void (__stdcall *SET_OFFSET_FP)(short Xoffset, short Yoffset);
extern SET_OFFSET_FP set_offset;
typedef void (__stdcall *N_GOTO_XYZ_FP)(unsigned short n, short X, short Y, short Z);
extern N_GOTO_XYZ_FP n_goto_xyz;
typedef void (__stdcall *GOTO_XYZ_FP)(short X, short Y, short Z);
extern GOTO_XYZ_FP goto_xyz;
typedef void (__stdcall *N_GOTO_XY_FP)(unsigned short n, short X, short Y);
extern N_GOTO_XY_FP n_goto_xy;
typedef void (__stdcall *GOTO_XY_FP)(short X, short Y);
extern GOTO_XY_FP goto_xy;
typedef unsigned short (__stdcall *N_GET_HEX_VERSION_FP)(unsigned short n);
extern N_GET_HEX_VERSION_FP n_get_hex_version;
typedef unsigned short (__stdcall *GET_HEX_VERSION_FP)();
extern GET_HEX_VERSION_FP get_hex_version;
typedef void (__stdcall *N_DISABLE_LASER_FP)(unsigned short n);
extern N_DISABLE_LASER_FP n_disable_laser;
typedef void (__stdcall *DISABLE_LASER_FP)();
extern DISABLE_LASER_FP disable_laser;
typedef void (__stdcall *N_ENABLE_LASER_FP)(unsigned short n);
extern N_ENABLE_LASER_FP n_enable_laser;
typedef void (__stdcall *ENABLE_LASER_FP)();
extern ENABLE_LASER_FP enable_laser;
typedef void (__stdcall *N_STOP_LIST_FP)(unsigned short n);
extern N_STOP_LIST_FP n_stop_list;
typedef void (__stdcall *STOP_LIST_FP)();
extern STOP_LIST_FP stop_list;
typedef void (__stdcall *N_RESTART_LIST_FP)(unsigned short n);
extern N_RESTART_LIST_FP n_restart_list;
typedef void (__stdcall *RESTART_LIST_FP)();
extern RESTART_LIST_FP restart_list;
typedef void (__stdcall *N_GET_XYZ_POS_FP)(unsigned short n, short* X, short* Y, short* Z);
extern N_GET_XYZ_POS_FP n_get_xyz_pos;
typedef void (__stdcall *GET_XYZ_POS_FP)(short* X, short* Y, short* Z);
extern GET_XYZ_POS_FP get_xyz_pos;
typedef void (__stdcall *N_GET_XY_POS_FP)(unsigned short n, short* X, short* Y);
extern N_GET_XY_POS_FP n_get_xy_pos;
typedef void (__stdcall *GET_XY_POS_FP)(short* X, short* Y);
extern GET_XY_POS_FP get_xy_pos;
typedef void (__stdcall *N_SELECT_LIST_FP)(unsigned short n, unsigned short list_2);
extern N_SELECT_LIST_FP n_select_list;
typedef void (__stdcall *SELECT_LIST_FP)(unsigned short list_2);
extern SELECT_LIST_FP select_list;
typedef void (__stdcall *N_Z_OUT_FP)(unsigned short n, short z);
extern N_Z_OUT_FP n_z_out;
typedef void (__stdcall *Z_OUT_FP)(short z);
extern Z_OUT_FP z_out;
typedef void (__stdcall *N_SET_FIRSTPULSE_KILLER_FP)(unsigned short n, unsigned short fpk);
extern N_SET_FIRSTPULSE_KILLER_FP n_set_firstpulse_killer;
typedef void (__stdcall *SET_FIRSTPULSE_KILLER_FP)(unsigned short fpk);
extern SET_FIRSTPULSE_KILLER_FP set_firstpulse_killer;
typedef void (__stdcall *N_SET_STANDBY_FP)(unsigned short n, unsigned short half_period, unsigned short pulse);
extern N_SET_STANDBY_FP n_set_standby;
typedef void (__stdcall *SET_STANDBY_FP)(unsigned short half_period, unsigned short pulse);
extern SET_STANDBY_FP set_standby;
typedef void (__stdcall *N_LASER_SIGNAL_ON_FP)(unsigned short n);
extern N_LASER_SIGNAL_ON_FP n_laser_signal_on;
typedef void (__stdcall *LASER_SIGNAL_ON_FP)();
extern LASER_SIGNAL_ON_FP laser_signal_on;
typedef void (__stdcall *N_LASER_SIGNAL_OFF_FP)(unsigned short n);
extern N_LASER_SIGNAL_OFF_FP n_laser_signal_off;
typedef void (__stdcall *LASER_SIGNAL_OFF_FP)();
extern LASER_SIGNAL_OFF_FP laser_signal_off;
typedef void (__stdcall *N_SET_DELAY_MODE_FP)(unsigned short n, unsigned short VarPoly, unsigned short DirectMove3D, unsigned short EdgeLevel, unsigned short MinJumpDelay, unsigned short JumpLengthLimit);
extern N_SET_DELAY_MODE_FP n_set_delay_mode;
typedef void (__stdcall *SET_DELAY_MODE_FP)(unsigned short VarPoly, unsigned short DirectMove3D, unsigned short EdgeLevel, unsigned short MinJumpDelay, unsigned short JumpLengthLimit);
extern SET_DELAY_MODE_FP set_delay_mode;
typedef void (__stdcall *N_SET_PISO_CONTROL_FP)(unsigned short n, unsigned short l1, unsigned short l2);
extern N_SET_PISO_CONTROL_FP n_set_piso_control;
typedef void (__stdcall *SET_PISO_CONTROL_FP)(unsigned short l1, unsigned short l2);
extern SET_PISO_CONTROL_FP set_piso_control;
typedef void (__stdcall *N_SELECT_STATUS_FP)(unsigned short n, unsigned short mode);
extern N_SELECT_STATUS_FP n_select_status;
typedef void (__stdcall *SELECT_STATUS_FP)(unsigned short mode);
extern SELECT_STATUS_FP select_status;
typedef void (__stdcall *N_GET_ENCODER_FP)(unsigned short n, short* Zx, short* Zy);
extern N_GET_ENCODER_FP n_get_encoder;
typedef void (__stdcall *GET_ENCODER_FP)(short* Zx, short* Zy);
extern GET_ENCODER_FP get_encoder;
typedef void (__stdcall *N_SELECT_COR_TABLE_FP)(unsigned short n, unsigned short HeadA, unsigned short HeadB);
extern N_SELECT_COR_TABLE_FP n_select_cor_table;
typedef void (__stdcall *SELECT_COR_TABLE_FP)(unsigned short HeadA, unsigned short HeadB);
extern SELECT_COR_TABLE_FP select_cor_table;
typedef void (__stdcall *N_EXECUTE_AT_POINTER_FP)(unsigned short n, unsigned short position);
extern N_EXECUTE_AT_POINTER_FP n_execute_at_pointer;
typedef void (__stdcall *EXECUTE_AT_POINTER_FP)(unsigned short position);
extern EXECUTE_AT_POINTER_FP execute_at_pointer;
typedef unsigned short (__stdcall *N_GET_HEAD_STATUS_FP)(unsigned short n, unsigned short Head);
extern N_GET_HEAD_STATUS_FP n_get_head_status;
typedef unsigned short (__stdcall *GET_HEAD_STATUS_FP)(unsigned short Head);
extern GET_HEAD_STATUS_FP get_head_status;
typedef void (__stdcall *N_SIMULATE_ENCODER_FP)(unsigned short n, unsigned short Channel);
extern N_SIMULATE_ENCODER_FP n_simulate_encoder;
typedef void (__stdcall *SIMULATE_ENCODER_FP)(unsigned short Channel);
extern SIMULATE_ENCODER_FP simulate_encoder;
typedef void (__stdcall *N_RELEASE_WAIT_FP)(unsigned short n);
extern N_RELEASE_WAIT_FP n_release_wait;
typedef void (__stdcall *RELEASE_WAIT_FP)();
extern RELEASE_WAIT_FP release_wait;
typedef unsigned short (__stdcall *N_GET_WAIT_STATUS_FP)(unsigned short n);
extern N_GET_WAIT_STATUS_FP n_get_wait_status;
typedef unsigned short (__stdcall *GET_WAIT_STATUS_FP)();
extern GET_WAIT_STATUS_FP get_wait_status;
typedef void (__stdcall *N_SET_LASER_MODE_FP)(unsigned short n, unsigned short mode);
extern N_SET_LASER_MODE_FP n_set_laser_mode;
typedef void (__stdcall *SET_LASER_MODE_FP)(unsigned short mode);
extern SET_LASER_MODE_FP set_laser_mode;
typedef void (__stdcall *N_SET_EXT_START_DELAY_FP)(unsigned short n, short delay, short encoder);
extern N_SET_EXT_START_DELAY_FP n_set_ext_start_delay;
typedef void (__stdcall *SET_EXT_START_DELAY_FP)(short delay, short encoder);
extern SET_EXT_START_DELAY_FP set_ext_start_delay;
typedef void (__stdcall *N_HOME_POSITION_FP)(unsigned short n, short xhome, short yhome);
extern N_HOME_POSITION_FP n_home_position;
typedef void (__stdcall *HOME_POSITION_FP)(short xhome, short yhome);
extern HOME_POSITION_FP home_position;
typedef void (__stdcall *N_SET_ROT_CENTER_FP)(unsigned short n, long center_x, long center_y);
extern N_SET_ROT_CENTER_FP n_set_rot_center;
typedef void (__stdcall *SET_ROT_CENTER_FP)(long center_x, long center_y);
extern SET_ROT_CENTER_FP set_rot_center;
typedef void (__stdcall *N_DSP_START_FP)(unsigned short n);
extern N_DSP_START_FP n_dsp_start;
typedef void (__stdcall *DSP_START_FP)();
extern DSP_START_FP dsp_start;
typedef void (__stdcall *N_WRITE_DA_X_FP)(unsigned short n, unsigned short x, unsigned short value);
extern N_WRITE_DA_X_FP n_write_da_x;
typedef void (__stdcall *WRITE_DA_X_FP)(unsigned short x, unsigned short value);
extern WRITE_DA_X_FP write_da_x;
typedef unsigned short (__stdcall *N_READ_AD_X_FP)(unsigned short n, unsigned short x);
extern N_READ_AD_X_FP n_read_ad_x;
typedef unsigned short (__stdcall *READ_AD_X_FP)(unsigned short x);
extern READ_AD_X_FP read_ad_x;
typedef unsigned short (__stdcall *N_READ_PIXEL_AD_FP)(unsigned short n, unsigned short pos);
extern N_READ_PIXEL_AD_FP n_read_pixel_ad;
typedef unsigned short (__stdcall *READ_PIXEL_AD_FP)(unsigned short pos);
extern READ_PIXEL_AD_FP read_pixel_ad;
typedef short (__stdcall *N_GET_Z_DISTANCE_FP)(unsigned short n, short x, short y, short z);
extern N_GET_Z_DISTANCE_FP n_get_z_distance;
typedef short (__stdcall *GET_Z_DISTANCE_FP)(short x, short y, short z);
extern GET_Z_DISTANCE_FP get_z_distance;
typedef unsigned short (__stdcall *N_GET_IO_STATUS_FP)(unsigned short n);
extern N_GET_IO_STATUS_FP n_get_io_status;
typedef unsigned short (__stdcall *GET_IO_STATUS_FP)();
extern GET_IO_STATUS_FP get_io_status;
typedef short (__stdcall *LOAD_COR_FP)(const char * FileName);
extern LOAD_COR_FP load_cor;
typedef short (__stdcall *LOAD_PRO_FP)(const char * FileName);
extern LOAD_PRO_FP load_pro;
typedef unsigned short (__stdcall *N_GET_SERIAL_NUMBER_FP)(unsigned short n);
extern N_GET_SERIAL_NUMBER_FP n_get_serial_number;
typedef unsigned short (__stdcall *GET_SERIAL_NUMBER_FP)();
extern GET_SERIAL_NUMBER_FP get_serial_number;
typedef long (__stdcall *N_GET_SERIAL_NUMBER_32_FP)(unsigned short n);
extern N_GET_SERIAL_NUMBER_32_FP n_get_serial_number_32;
typedef long (__stdcall *GET_SERIAL_NUMBER_32_FP)();
extern GET_SERIAL_NUMBER_32_FP get_serial_number_32;
typedef unsigned short (__stdcall *N_GET_RTC_VERSION_FP)(unsigned short n);
extern N_GET_RTC_VERSION_FP n_get_rtc_version;
typedef unsigned short (__stdcall *GET_RTC_VERSION_FP)();
extern GET_RTC_VERSION_FP get_rtc_version;
typedef short (__stdcall *N_AUTO_CAL_FP)(unsigned short n, unsigned short Head, unsigned short command);
extern N_AUTO_CAL_FP n_auto_cal;
typedef short (__stdcall *AUTO_CAL_FP)(unsigned short Head, unsigned short command);
extern AUTO_CAL_FP auto_cal;
typedef void (__stdcall *N_SET_HI_FP)(unsigned short n, double GalvoGainX, double GalvoGainY, short GalvoOffsetX, short GalvoOffsetY, short Head);
extern N_SET_HI_FP n_set_hi;
typedef void (__stdcall *SET_HI_FP)(double GalvoGainX, double GalvoGainY, short GalvoOffsetX, short GalvoOffsetY, short Head);
extern SET_HI_FP set_hi;
typedef void (__stdcall *N_SET_LIST_MODE_FP)(unsigned short n, unsigned short mode);
extern N_SET_LIST_MODE_FP n_set_list_mode;
typedef void (__stdcall *SET_LIST_MODE_FP)(unsigned short mode);
extern SET_LIST_MODE_FP set_list_mode;
typedef unsigned short (__stdcall *N_GET_LIST_SPACE_FP)(unsigned short n);
extern N_GET_LIST_SPACE_FP n_get_list_space;
typedef unsigned short (__stdcall *GET_LIST_SPACE_FP)();
extern GET_LIST_SPACE_FP get_list_space;
typedef void (__stdcall *N_SAVE_AND_RESTART_TIMER_FP)(unsigned short n);
extern N_SAVE_AND_RESTART_TIMER_FP n_save_and_restart_timer;
typedef void (__stdcall *SAVE_AND_RESTART_TIMER_FP)();
extern SAVE_AND_RESTART_TIMER_FP save_and_restart_timer;
typedef void (__stdcall *N_SET_EXT_START_DELAY_LIST_FP)(unsigned short n, short delay, short encoder);
extern N_SET_EXT_START_DELAY_LIST_FP n_set_ext_start_delay_list;
typedef void (__stdcall *SET_EXT_START_DELAY_LIST_FP)(short delay, short encoder);
extern SET_EXT_START_DELAY_LIST_FP set_ext_start_delay_list;
typedef double (__stdcall *N_GET_TIME_FP)(unsigned short n);
extern N_GET_TIME_FP n_get_time;
typedef double (__stdcall *GET_TIME_FP)();
extern GET_TIME_FP get_time;
typedef void (__stdcall *GET_HI_DATA_FP)(unsigned short* x1, unsigned short* x2, unsigned short* y1, unsigned short* y2);
extern GET_HI_DATA_FP get_hi_data;
typedef short (__stdcall *TEACHIN_FP)(const char * FileName, short Xin, short Yin, short Zin, double LL0, short* Xout, short* Yout, short* Zout);
extern TEACHIN_FP teachin;
